package com.ruyuan.util;
//

import org.springframework.web.WebApplicationInitializer;

import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.HandlesTypes;
import java.util.Set;

/**
 * 用于提供接口供 resource 文件夹下的 tomcat spi 机制回调 该方法
 *
 * HandlesTypes 注解为 tomcat 提供的注解，tomcat 在解析该注解的时候会默认找到 当前项目下所有实现了  WebApplicationInitializer 接口的类，并进行回调
 * 这里和 spring web 下面的 SpringServletContainerInitializer 类中一样，该 jar 包下面的 resource 依然有提供给 tomcat 的 spi 配置文件
 */
@HandlesTypes(WebApplicationInitializer.class)
public class MyServletContainerInitializer implements ServletContainerInitializer {

    public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException {
       System.out.println("********   MyServletContainerInitializer  ********");
   /*     for (Class<?> aClass : set) {
           try {
               Object o = aClass.isInstance();
           } catch (Exception e) {
               throw new RuntimeException(e);
           }
       } */
    }
}